﻿using System;
namespace Producers.Kis.Xtee.Riik.Ee.Producer.Kis {
    
    
    public partial class AlimonyClaim : global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Claim, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAlimonyClaim {
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitionerConfirmation @__petitionerConfirmation;
        
        private bool @__hasLegalBarriers;
        
        private bool @__isParentInAlimony;
        
        private bool @__isParent;
        
        private System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IDebtSettlement> @__debtSettlement = new System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IDebtSettlement>();
        
        private System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativeData> @__representativeData = new System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativeData>();
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativeOrganisationData @__representativeOrganisationData;
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitionerCase @__petitionerCase;
        
        public AlimonyClaim() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public AlimonyClaim(global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitionerConfirmation @petitionerConfirmation, bool @hasLegalBarriers, bool @isParentInAlimony, bool @isParent, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IDebtSettlement> @debtSettlement, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativeData> @representativeData, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativeOrganisationData @representativeOrganisationData, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitionerCase @petitionerCase) {
            this.@__petitionerConfirmation = @petitionerConfirmation;
            this.@__hasLegalBarriers = @hasLegalBarriers;
            this.@__isParentInAlimony = @isParentInAlimony;
            this.@__isParent = @isParent;
            this.@__debtSettlement = @debtSettlement;
            this.@__representativeData = @representativeData;
            this.@__representativeOrganisationData = @representativeOrganisationData;
            this.@__petitionerCase = @petitionerCase;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public AlimonyClaim(global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitionerConfirmation @petitionerConfirmation, bool @hasLegalBarriers, bool @isParentInAlimony, bool @isParent, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IDebtSettlement> @debtSettlement, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativeData> @representativeData, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitionerCase @petitionerCase) {
            this.@__petitionerConfirmation = @petitionerConfirmation;
            this.@__hasLegalBarriers = @hasLegalBarriers;
            this.@__isParentInAlimony = @isParentInAlimony;
            this.@__isParent = @isParent;
            this.@__debtSettlement = @debtSettlement;
            this.@__representativeData = @representativeData;
            this.@__petitionerCase = @petitionerCase;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected AlimonyClaim(IAlimonyClaim @alimonyClaim) {
            this.@__petitionerConfirmation = @alimonyClaim.PetitionerConfirmation;
            this.@__hasLegalBarriers = @alimonyClaim.HasLegalBarriers;
            this.@__isParentInAlimony = @alimonyClaim.IsParentInAlimony;
            this.@__isParent = @alimonyClaim.IsParent;
            this.@__debtSettlement = @alimonyClaim.DebtSettlement;
            this.@__representativeData = @alimonyClaim.RepresentativeData;
            this.@__representativeOrganisationData = @alimonyClaim.RepresentativeOrganisationData;
            this.@__petitionerCase = @alimonyClaim.PetitionerCase;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        public AlimonyClaim(IClaim @claim) : 
                base(@claim) {
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitionerConfirmation PetitionerConfirmation {
            get {
                return this.@__petitionerConfirmation;
            }
            set {
                this.@__petitionerConfirmation = value;
            }
        }
        
        public virtual bool HasLegalBarriers {
            get {
                return this.@__hasLegalBarriers;
            }
            set {
                this.@__hasLegalBarriers = value;
            }
        }
        
        public virtual bool IsParentInAlimony {
            get {
                return this.@__isParentInAlimony;
            }
            set {
                this.@__isParentInAlimony = value;
            }
        }
        
        public virtual bool IsParent {
            get {
                return this.@__isParent;
            }
            set {
                this.@__isParent = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IDebtSettlement> DebtSettlement {
            get {
                return this.@__debtSettlement;
            }
            set {
                this.@__debtSettlement = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativeData> RepresentativeData {
            get {
                return this.@__representativeData;
            }
            set {
                this.@__representativeData = value;
            }
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativeOrganisationData RepresentativeOrganisationData {
            get {
                return this.@__representativeOrganisationData;
            }
            set {
                this.@__representativeOrganisationData = value;
            }
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IPetitionerCase PetitionerCase {
            get {
                return this.@__petitionerCase;
            }
            set {
                this.@__petitionerCase = value;
            }
        }
    }
}
